package org.zl.mybatis.use.mapper;

import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.zl.mybatis.use.model.Company;
import org.zl.mybatis.use.model.CompanyExample;

public interface CompanyMapper {
    long countByExample(CompanyExample example);

    int deleteByExample(CompanyExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(Company record);

    int insertSelective(Company record);

    List<Company> selectByExample(CompanyExample example);

    Company selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") Company record, @Param("example") CompanyExample example);

    int updateByExample(@Param("record") Company record, @Param("example") CompanyExample example);

    int updateByPrimaryKeySelective(Company record);

    int updateByPrimaryKey(Company record);
    
    // 一对一
    Company selectCompanyWithCeoById(Integer id);
    
    Company selectCompanyWithCeoById2(Integer id);
    
    Company selectCompanyWithCeoById3(Integer id);

    Company selectCompanyWithCeoById4(Integer id);

    Company selectCompanyWithCeoById5(Integer id);

    Company selectCompanyWithCeoById6(Integer id);
    
    // 一对多
    Company selectCompanyWithCeoById7(Integer id);
    
    Company selectCompanyWithCeoById8(Integer id);
    
    Company selectCompanyWithCeoById9(Integer id);
    
}